package com.sykj.cloud.system.mapper;

import java.util.List;
import com.sykj.cloud.system.domain.OrgDeptRole;


/**
 * 机构部门角色Mapper接口
 *
 * @author mr.will
 * @date 2021-03-25
 */
public interface OrgDeptRoleMapper
{
    /**
     * 新增机构部门角色
     *
     * @param orgDeptRoleList 机构部门角色
     * @return 结果
     */
    int batchOrgDeptRole(List<OrgDeptRole> orgDeptRoleList);

    /**
     * 修改机构部门角色
     *
     * @param orgDeptRole 机构部门角色
     * @return 结果
     */
    int updateOrgDeptRole(OrgDeptRole orgDeptRole);

    /**
     * 删除机构部门角色
     *
     * @param guid 机构部门角色ID
     * @return 结果
     */
    int deleteOrgDeptRoleById(String guid);


    /**
     * 通过角色ID删除角色和部门关联
     *
     * @param roleId 角色ID
     * @return 结果
     */
    int deleteOrgDeptRoleByRoleId(String roleId);

    /**
     * 批量删除机构部门角色
     *
     * @param guids 需要删除的数据ID
     * @return 结果
     */
    int deleteOrgDeptRoleByIds(String[] guids);


    /**
     * 查询机构部门角色
     *
     * @param guid 机构部门角色ID
     * @return 机构部门角色
     */
     OrgDeptRole getOrgDeptRoleById(String guid);

    /**
     * 查询机构部门角色列表
     *
     * @param orgDeptRole 机构部门角色
     * @return 机构部门角色集合
     */
    List<OrgDeptRole> listOrgDeptRoles(OrgDeptRole orgDeptRole);


    /**
     * 查询部门使用数量
     *
     * @param deptId 部门ID
     * @return 结果
     */
    int countOrgDeptRoleByDeptId(String deptId);

}
